SQL INSERT INTO SELECT அறிக்கை
INSERT INTO SELECT அறிக்கை ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து மற்றொரு அட்டவணையில் செருகுகிறது.
INSERT INTO SELECT அறிக்கைக்கு மூல மற்றும் இலக்கு அட்டவணைகளில் உள்ள தரவு வகைகள் பொருந்த வேண்டும்.
குறிப்பு:
இலக்கு அட்டவணையில் உள்ள இருக்கும் பதிவுகள் பாதிக்கப்படாது.
INSERT INTO SELECT தொடரியல்
ஒரு அட்டவணையிலிருந்து அனைத்து நெடுவரிசைகளையும் மற்றொரு அட்டவணையில் நகலெடுக்க:
அனைத்து நெடுவரிசைகளும்
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
சில நெடுவரிசைகள் மட்டும்
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
ஆர்ப்பாட்ட தரவுத்தளம்
இந்த பயிற்சியில் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.
"Customers" அட்டவணையிலிருந்து ஒரு தேர்வு
| CustomerID | CustomerName | ContactName | City | Country |
|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Berlin | Germany |
| 2 | Ana Trujillo Emparedados | Ana Trujillo | México D.F. | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | México D.F. | Mexico |
"Suppliers" அட்டவணையிலிருந்து ஒரு தேர்வு
| SupplierID | SupplierName | ContactName | City | Country |
|---|---|---|---|---|
| 1 | Exotic Liquid | Charlotte Cooper | London | UK |
| 2 | New Orleans Cajun Delights | Shelley Burke | New Orleans | USA |
| 3 | Grandma Kelly's Homestead | Regina Murphy | Ann Arbor | USA |
SQL INSERT INTO SELECT எடுத்துக்காட்டுகள்
"Suppliers" அட்டவணையை "Customers" அட்டவணையில் நகலெடுக்க (தரவால் நிரப்பப்படாத நெடுவரிசைகள் NULL ஐக் கொண்டிருக்கும்):
எடுத்துக்காட்டு 1
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
"Suppliers" அட்டவணையை "Customers" அட்டவணையில் நகலெடுக்க (அனைத்து நெடுவரிசைகளையும் நிரப்ப):
எடுத்துக்காட்டு 2
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
ஜெர்மன் சப்ளையர்களை மட்டும் "Customers" அட்டவணையில் நகலெடுக்க:
எடுத்துக்காட்டு 3
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
முக்கியமான குறிப்பு:
INSERT INTO SELECT ஐப் பயன்படுத்தும் போது, மூல மற்றும் இலக்கு அட்டவணைகளின் நெடுவரிசை தரவு வகைகள் பொருந்துவதை உறுதிப்படுத்திக் கொள்ளுங்கள். இல்லையெனில் பிழைகள் ஏற்படலாம்.
நடைமுறை எடுத்துக்காட்டுகள்
காப்புப்பிரதி உருவாக்கம்
குறிப்பிட்ட தரவுகளின் காப்புப்பிரதி
INSERT INTO CustomerBackup
SELECT * FROM Customers
WHERE Country = 'USA';
தரவு மாற்றம்
வெவ்வேறு அட்டவணைகளுக்கு இடையே தரவை மாற்றுதல்
INSERT INTO ArchivedOrders
SELECT OrderID, CustomerID, OrderDate
FROM Orders
WHERE OrderDate < '2023-01-01';
வடிகட்டப்பட்ட தரவு
குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் தரவு
INSERT INTO PremiumCustomers
SELECT CustomerName, Email, TotalPurchases
FROM Customers
WHERE TotalPurchases > 1000;